const { ipcMain } = require('electron')
const sqlite3 = require('sqlite3').verbose(); // 引入 sqlite3 并设置为 verbose 模式，以便能够看到更详细的日志
// 假设您想要创建或打开一个名为 'mydatabase.db' 的数据库
const db = new sqlite3.Database('/Users/baijinhao/www/testvUE/DD/src/assets/yitiji.db', (err) => {
    if (err) {
        console.error('Error opening database', err);
    } else {
        console.log('Database opened successfully');
        // 在这里，您可以执行数据库初始化操作，例如创建表
        db.run("CREATE TABLE IF NOT EXISTS contacts (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, email TEXT)");
    }
});

function listenerIpcMain(){
    ipcMain.on('insert',(event,arg)=>{
        db.serialize(function() {
        db.run('INSERT INTO data (value,key) VALUES (?,?)',arg.value,arg.key);
        // db.run("CREATE TABLE lorem (info TEXT)");
        // const stmt = db.prepare("INSERT INTO lorem VALUES (?)");
        // for (let i = 0; i < 10; i++) {
        //   stmt.run("Ipsum " + i);
        // }
        // stmt.finalize();
        
        // db.each("SELECT rowid AS id, info FROM lorem", function(err, row) {
        //   console.log(row.id + ": " + row.info);
        // });
        event.sender.send('insert','ok');
        });
    });
    ipcMain.on('query',(event,arg)=>{
        db.serialize(function() {
            db.all("SELECT * FROM data where key='"+arg+"'", [], (err, rows) => {
                if (err) {
                  throw err;
                }
                event.reply('query', rows);
              });
        });
    })
}


// 导出数据库对象，以便在其他文件中使用
module.exports = {
    db:db,
    listenerIpcMain:listenerIpcMain,
    dbClose : () => {
        db.close((err) => {
            if (err) {
                console.error('Error closing database', err);
            } else {
                console.log('Database closed successfully');
            }
        });
    }
};

//exports.db = db;

